' This program exported from BASIC Anywhere Machine (Version [5.2.3].[2023.12.16.16.28]) on 2024.02.06 at 03:33 (Coordinated Universal Time)
' BASIC Anywhere Machine program by CharlieJV
' mod of program by "JamesD" (original commented further below)
' found at https://atariage.com/forums/topic/218503-graphics-8-fedora-hat/?do=findComment&comment=3392254
SCREEN _NEWIMAGE(320,200,17)
DIM RR(320)
step_value = - 1
Another_DrawCycle:
FOR I = 0 TO 320 : RR(I) = 193 : NEXT I
XP = 144 : XR = 4.71238905 : XF = XR / XP
color1 = INT( RND * 64 ) + 1 : color2 = INT( RND * 64 ) + 1
FOR ZI = 64 TO -64 STEP step_value
ZT=ZI*2.25:ZS=ZT*ZT
XL=INT(SQR(20736-ZS)+0.5)
ZX=ZI+160:ZY=90+ZI
FOR XI= 0 TO XL
XT=SQR(XI*XI+ZS)*XF
YY=(SIN(XT)+SIN(XT*3)*0.4)*56
X1=INT(XI+ZX):Y1=INT(ZY-YY)
IF RR(X1)>Y1 THEN RR(X1)=Y1 : PSET(X1,Y1), color1
X1=ZX-XI
IF RR(X1)>Y1 THEN RR(X1)=Y1 : PSET(X1,Y1), color2
NEXT XI
SLEEP 0.025
NEXT ZI
SLEEP 0.5
if step_value = -1 then step_value = -1.5 else step_value = -1
GOTO Another_DrawCycle
' 🟠🟠🟠ORIGINAL CODE
' 100 DIM RR(320)
' 110 GR 4 : COLOR 3,0,0
' 120 FOR I=0 TO 320:RR(I)=193:NEXT I
' 130 XP=144:XR=4.71238905:XF=XR/XP
' 140 FOR ZI=64 TO -64 STEP -1
' 150 ZT=ZI*2.25:ZS=ZT*ZT
' 160 XL=INT(SQR(20736-ZS)+0.5)
' 170 ZX=ZI+160:ZY=90+ZI
' 180 FOR XI=0 TO XL
' 190 XT=SQR(XI*XI+ZS)*XF
' 200 YY=(SIN(XT)+SIN(XT*3)*0.4)*56
' 210 X1=int(XI+ZX):Y1=int(ZY-YY)
' 220 IF RR(X1)>Y1 THEN RR(X1)=Y1:SET(X1,Y1)
' 230 X1=ZX-XI
' 240 IF RR(X1)>Y1 THEN RR(X1)=Y1:SET(X1,Y1)
' 250 NEXT XI:NEXT ZI
' 260 GOTO 260